/**
 * 张楗博销售计划功能js
 */

$(document).ready(function() {
	console.log("进来了么？？？");
	vm.Paging1(1);

})
var vm = new Vue({
	el : '#salesplan',
	data : {
		home : ''
	},
	methods : {
		Paging1 : function(currentPage) {

			var currentPage = currentPage;
			console.log("进来了么？？？？？？？？？？？" + currentPage);
			var _self = this;
			$.ajax({
				url : '../SalesPlan/listSalesPlan',
				type : 'post',
				dataType : 'json',
				data : {
					'currentPage' : currentPage
				},

				success : function(data) {

					_self.home = data.hsplist;
					console.log(_self.home);
					laypage({

						cont : $("#clear"), // 定义分页显示的容器
						pages : data.totalPage, // 从后台查询得到总页数
						curr : currentPage,
						skin : 'molv',
						skip : true,
						last : '末页',
						groups : 3,
						jump : function(obj, first) {
							console.log("==========================");

							if (!first) {
								vm.Paging1(obj.curr);
							}
						}
					});
					// =====================截止
				}
			})// =====================ajax结束
		},
		findSalesPlan : function(currentPage, month) {
			var _self = this;
			$.ajax({
				url : '../SalesPlan/findSalesPlanByMonth',
				type : 'post',
				dataType : 'json',
				data : {
					'currentPage' : currentPage,
					'month' : month
				},
				success : function(data) {
					_self.home = data.splist;
					console.log(_self.home);
					laypage({
						cont : $("#clear"), // 定义分页显示的容器
						pages : data.totalPage, // 从后台查询得到总页数
						curr : currentPage,
						skin : 'molv',
						skip : true,
						last : '末页',
						groups : 3,
						jump : function(obj, first) {
							console.log("==========================");

							if (!first) {
								vm.findSalesPlan(obj.curr, month);
							}
						}
					});
					// =====================截止
				}
			})// =====================ajax结束
		}// findSalesPlanByMonth结束
	}

})

function findSalesPlanByMonth() {
	var month = $("#month").val();
	vm.findSalesPlan(1, month);
}
// 表单重置方法
function reset_form(ele) {
	// 清空表单数据
	$(ele)[0].reset();
	// 清空表单样式
	$(ele).find("*").removeClass("has-error has-success");
	// 清空表单提示信息：<span>的class为help-block
	$(ele).find(".help-block").text("");

}
function saveSalesPlan() {
	// 清除表单数据（表单完整重置（表单的数据，表单的样式））
	reset_form("#saveSalesPlanModal form");
	// s$("empAddModal form")[0].reset();

	// 弹出模态框
	$("#saveSalesPlanModal").modal({
		backdrop : "static"
	});
}
/*----------------------------------------------------函数1 添加销售计划模态框提交按钮的单击事件----------------------------------------------*/
$("#salesplan_save_btn").click(
		function() {
			// 将模态框中填写的表单数据提交服务器进行保存
			// 发送ajax请求保存销售计划信息
			$.ajax({
				url : "../SalesPlan/saveSalesPlan",
				type : "post",
				data : $("#saveSalesPlanModal form").serialize(),
				dataType : "json",
				success : function(result) {
					// 判断状态码
					if (result.code == 100) {
						// 员工保存成功后需要做1、关闭模态框 2、到最后一页显示添加的信息
						$("#saveSalesPlanModal").modal("hide");
						vm.Paging1(1);
					} else {
						// 用户后台校验失败，返回失败信息
						// 判断有那个错误信息就显示那个错误信息
						if (undefined != result.extend.errorFields.email) {
							show_validate_msg("#email_add_input", "error",
									result.extend.errorFields.email);
						}
						if (undefined != result.extend.errorFields.empName) {
							show_validate_msg("#empName_add_input", "error",
									result.extend.errorFields.empName);
						}
					}
				}
			});
		})
		
/*---------------------------------------------函数2 点击修改得到此条数据信息,弹出模态框,并将查出的数据展示在模态框上--------------------------------*/
$(document).on("click", ".edit_btn", function() {
	console.log("------------" + $(this).attr("update_id"));
	// 2、查出员工信息
	getSalesPlan($(this).attr("update_id"));
	// 3、把编辑按钮得到的员工ID传递给模态框的更新按钮
	$("#salesplan_update_btn").attr("update_id", $(this).attr("update_id"));
	$("#updateSalesPlanModal").modal({
		backdrop : "static"
	})
})

/*-------------------------------------------------- 函数3 点击修改模态框的更新按钮,触发员工更新单击事件-------------------------------------------------*/

$("#salesplan_update_btn").click(function() {

	// 发送ajax请求更新员工信息
	$.ajax({
		url : "../SalesPlan/updateSalesPlanById?salesPlanId="+$(this).attr("update_id"),// ?????为什么不直接写SalesPlan/updateSalsPlanById
		type : "post",
		data : $("#updateSalesPlanModal form").serialize(),
		success : function(result) {
			// 1、返回成功关闭模态框
			$("#updateSalesPlanModal").modal("hide");

		},
		error : function(result) {
			alert("=======");
		}
	});
	vm.Paging1(1);
})

/*-------------------------------------------------- 函数4 根据id查询销售计划的方法 这个函数是供修改页面使用的-------------------------------------------------*/
function getSalesPlan(id) {
	$.ajax({
				url : "../SalesPlan/findSalesPlanById/" + id,
				type : "get",
				success : function(result) {
					var salesPlan = result.extend.hsp;
					$("#salesPlanCode_update_static").text(
							salesPlan.salesPlanCode);
					$("#name_update_input").val(salesPlan.name);
					$("#month_update_input").val(salesPlan.month);
					$("#salesPlanContent_update_input").val(
							salesPlan.salesPlanContent);
				}
			});
}

/*-------------------------------------------------- 函数5 根据id查询销售计划的方法 这个函数是供查看页面显示数据-------------------------------------------------*/

$(document).on(
		"click",
		".find_btn",
		function() {
			
			$.ajax({
				url : "../SalesPlan/findSalesPlanById/" + $(this).attr("find_id"),
				type : "get",
				success : function(result) {
					var salesPlan = result.extend.hsp;
					console.log("=========salesPlan????");
					$("#salesPlanCode_find_static").text(
							salesPlan.salesPlanCode);
					$("#name_find_static").text(salesPlan.name);
					$("#month_find_static").text(salesPlan.month);
					$("#salesPlanContent_find_static").text(
							salesPlan.salesPlanContent);
				}
			});
			// 弹出模态框
			$("#findSalesPlanModal").modal({
				backdrop : "static"
			});
		})
/*-------------------------------------------------- 函数6 用于触发单个删除(删除一行数据)事件-------------------------------------------------*/
 
$(document).on("click", ".delete_btn", function() {
	// 弹出是否确认删除对话框
	// confim()
	var month = $(this).parents("tr").find("td:eq(3)").text();

	var salesPlanId = $(this).attr("delete_id");
	console.log("salesPlanId===" + salesPlanId);
	if (confirm("确认删除" + month + "的销售计划吗？")) {
		// 确认，发送ajax请求
		$.ajax({
			url : "../SalesPlan/deleteSalesPlanById/" + salesPlanId,
			type : "DELETE",
			success : function(result) {
				console.log("==========???");
				// 提示删除结果
				alert(result.message);
				// console.log(result);
				vm.Paging1(1);
			}
		});
	}

})

/*------------------------------------------------------- 函数7 批量删除--------------------------------------------------------------*/

// 第一步:完成全选全不选的功能
// 下边的checkbox与上边总的checkbox的checked属性一致

$("#check_all").click(function() {

	// attr获取checked是undefined;我们这些dom原生的属性；attr获取自定义属性的值；prop修改和读取dom原生属性的值
	$(".check_item").prop("checked", $(this).prop("checked"));
})
     // 下边的checkbox全选时上边的checkbox的checked属性为true
$(document).on("click", ".check_item", function() {
	// 判断当前选中的元素有几个，如果为总元素的个数则总元素状态为true，否则为false
	var flag = $(".check_item:checked").length == $(".check_item").length;
	$("#check_all").prop("checked", flag);
})

// 第二步 触发批量删除
function deleteSalesPlans() {
	var attr = "";
	console.log("???????????");
	var salesPlanIds = $("input[name='ss']:checked").each(function(i) {
		attr += $(this).val() + ",";
	})
	console.log(attr);
	if (confirm("确定要删除选中的销售计划吗？")) {
		// 发送ajax请求
		$.ajax({
			url : "../SalesPlan/deleteBatchSalsPlan/" + attr,
			type : "DELETE",
			success : function(result) {
				alert(result.message);
				vm.Paging1(1);
				$("#check_all").prop("checked", false);
			}
		});
	}
}

/*------------------------------------------------------- 函数8 提交销售计划--------------------------------------------------------------*/

$(document).on("click", ".sub_btn", function() {
	console.log(">>>>--------<<<<<");
	var salesPlan = $(this).attr("sub_id");
	console.log("??????" + salesPlan);
	// 发送ajax请求更新员工信息
	$.ajax({
		url : "../SalesPlan/updateSalesPlanStateById/" + $(this).attr("sub_id"),
		type : "PUT",
		success : function(result) {
			alert(result.message);
			vm.Paging1(1);
		}
	});
})

/*------------------------------------------------------- 函数9 根据id查找本条数据的--------------------------------------------------------------*/
